home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ray Dream Studio
/
Ray Dream Studio (CDRAYD1) (Ray Dream) (1995).iso
/
DREAMSDK.WIN
/
INCLUDE
/
I3DSHAB.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-09-11
|
3KB
|
73 lines
/* $Id: i3Dshab.h 1.3 1995/09/11 01:10:10 YannPC Exp $ */
/*****************************************************************************\
* *
* I3DShAB.h - *
* I3DShAtmosphericShader definition *
* I3DShBackgroundShader definition *
* *
* Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
* *
\*****************************************************************************/
#ifndef __I3DSHAB__
#define __I3DSHAB__
#ifndef __3DCOTYPE__
#include "3DCoType.h"
#endif
//****** Globally Unique Ids *************************************************
DEFINE_GUID(IID_I3DShAtmosphericShader, 0xA0629720L, 0x3A0D, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
DEFINE_GUID(IID_I3DShBackgroundShader, 0xA261C280L, 0x3A0D, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
/*****************************************************************************\
* I3DShAtmosphericShader *
* *
* Atmospheric Shader as seen from other extensions *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DShAtmosphericShader
DECLARE_INTERFACE_(I3DShAtmosphericShader, IUnknown) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DShAtmosphericShader methods
STDMETHOD(SegmentFilter) (THIS_ VECTOR3D* beg, VECTOR3D* end, COLOR3D* filterOut) PURE;
STDMETHOD(DirectionFilter) (THIS_ VECTOR3D* origin, VECTOR3D* direction, COLOR3D* filterOut) PURE;
};
/*****************************************************************************\
* I3DShBackgroundShader *
* *
* Background Shader *
* *
\*****************************************************************************/
#undef INTERFACE
#define INTERFACE I3DShBackgroundShader
DECLARE_INTERFACE_(I3DShBackgroundShader, IUnknown) {
// IUnknown methods
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
STDMETHOD_(ULONG, AddRef) (THIS) PURE;
STDMETHOD_(ULONG, Release) (THIS) PURE;
// I3DShBackgroundShader methods
//-- Queries
STDMETHOD_(BOOLEAN, IsBackdrop) (THIS) PURE;
//-- Backdrop
STDMETHOD(GetBackdropColor) (THIS_ VECTOR2D* screenPoint, BOX2D* screenMinMax, COLOR3D* resultColor) PURE;
//-- Environment mapping
STDMETHOD(GetEnvironmentColor) (THIS_ VECTOR3D* direction, COLOR3D* resultColor, BOOLEAN* result) PURE;
};
#endif